package com.qdhh.enrollment.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.qdhh.enrollment.model.Student;
import com.qdhh.enrollment.service.dto.LoginResult;

/**
 * 学生服务接口
 * 处理学生相关的业务逻辑，包括登录、身份认证等
 */
public interface StudentService extends IService<Student> {

    /**
     * 微信登录
     * @param code 微信授权码
     * @return 登录结果（包含Student和Token）
     */
    LoginResult login(String code, String nickName, String avatarUrl, String unionId);

    /**
     * 更新手机号
     * @param studentId 学生ID（openid）
     * @param phone 手机号
     */
    void updatePhone(String studentId, String phone);

    /**
     * 更新学号并触发身份认证
     * @param studentId 学生ID（openid）
     * @param studentNo 学号
     */
    void updateStudentNo(String studentId, String studentNo);

    /**
     * 身份认证逻辑（核心方法）
     * 检查学号是否存在于student_profiles表中，如果存在则认证通过
     * @param studentId 学生ID（openid）
     * @param studentNo 学号
     */
    void verifyIdentity(String studentId, String studentNo);

    /**
     * 获取当前登录学生
     * @return 当前登录的学生信息
     */
    Student getCurrentStudent();
}

